﻿using System;

namespace 方法的重载
{
	//方法的重载就是方法名字一样的几个方法参数不同（类型和数量）；
	//返回值和方法的重载无关
	class Program
	{
		static void Main(string[] args)
		{
			Console.WriteLine(1);   //int类型
			Console.WriteLine(10.4f);  //float浮点型
			Console.WriteLine(123m);  //decimal类型
			Console.WriteLine('a');   //char类型
			Console.WriteLine("参数");  //string类型
			//WriteLine就是一个重载的方法
			//如果参数个数相同，那么参数类型就不能相同
			//如果参数类型相同，那么参数个数就不能相同
			int c = 0;
			//这里的M1就是重载的方法，可以用传进多种不同的参数
			M1(3,2);
			M1(3, 2, 1, out c);
			M1((double)3, 2);
		}
	    public static void M1(int a,int b,int c,out int d)
		{
			d = a + b + c;
		}
		public static int M1(int a,int b)
		{
			return a+b;
		}
		public static int M1(double a,double b)
		{
			return (int)(a + b);
		}
	}
}
